PyCSP - Communicating Sequential Processes for Python

نویسندگان

  • John Markus Bjørndalen
  • Brian Vinter
  • Otto J. Anshus
چکیده

The Python programming language is effective for rapidly writing programs and experimenting with them. It is increasingly being used in computational sciences, and in teaching computer science. CSP is effective for describing concurrency. It has become especially relevant with the emergence of commodity multi-core architectures. We are interested in exploring how a combination of Python and CSP can benefit both the computational sciences and the hands-on teaching of distributed and parallel computing in computer science. To make this possible, we have developed PyCSP, a CSP library for Python. PyCSP presently supports the core CSP abstractions. We introduce the PyCSP library, its implementation, a few performance benchmarks, and show example code using PyCSP. PyCSP has been used in the Extreme Multiprogramming Class at the CS department, university of Copenhagen with promising results.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

PyCSP - controlled concurrency

Producing readable and correct programs while at the same time taking advantage of multi-core architectures is a challenge. PyCSP is an implementation of Communicating Sequential Processes algebra (CSP) for the Python programming language, taking advantage of CSP’s formal and verifiable approach to controlling concurrency and the readability of Python source code. We describe PyCSP, demonstrate...

متن کامل

Csp for Executable Scientific Workflows

This thesis presents CSP as a means of orchestrating the execution of tasks in a scientific workflow. Scientific workflow systems are popular in a wide range of scientific areas, where tasks are organised in directed graphs. Execution of such graphs is handled by the scientific workflow systems and can usually benefit performance-wise from both multiprocessing, cluster and grid environments. Py...

متن کامل

Three Unique Implementations of Processes for PyCSP

In this work we motivate and describe three unique implementations of processes for PyCSP: process, thread and greenlet based. The overall purpose is to demonstrate the feasibility of Communicating Sequential Processes as a framework for different application types and target platforms. The result is a set of three implementations of PyCSP with identical interfaces to the point where a PyCSP de...

متن کامل

PyCSP Revisited

PyCSP was introduced two years ago and has since been used by a number of programmers, especially students. The original motivation behind PyCSP was a conviction that both Python and CSP are tools that are especially well suited for programmers and scientists in other fields than computer science. Working under this premise the original PyCSP was very similar to JCSP and the motivation was simp...

متن کامل

Aiaa - 2002 - 5410 Coordination Specification for Distributed Optimal System Design Using the Χ Language

Coordination plays a key role in solving decomposed optimal system design problems. Several coordination strategies have been proposed in the multidisciplinary optimization (MDO) literature. They are usually presented as a sequence of statements: the parallel nature of the multidisciplinary subproblems is often either not addressed or only briefly mentioned. However , a more formal description ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007